// nodejs来操作数据库 ；基于一个模块 ： mongoose
/* 
第一步 ： 安装mongoose 且引入mongoose
第二步： 建立连接 
第三步： 建立骨架 （数据框架，数据结构）
第四步 ： 建立模型（model）
第五步： 数据操作 
*/

const mongoose = require("mongoose");
mongoose
  .connect("mongodb://127.0.0.1:27017/myusers")
  .then(() => {
    console.log("连接成功");
  })
  .catch((err) => {
    console.log(err);
  });
module.exports = mongoose;

//建立骨架
let schema = mongoose.Schema({
  name: String,
  age: Number,
});

//mongoose.model (集合名,集合对应的骨架)
let model = mongoose.model("users", schema);

//一.增
//注意: 通过mongoose添加的数据会自动加上__v字段
// model
//   .create({ name: "王小二", age: 27 })
//   .then(() => {
//     console.log("添加成功");
//   })
//   .catch((err) => {
//     console.log(err);
//   });

//二.删
//deleteMany 删除多条
//deleteOne 删除满足条件的一条
// model
//   .deleteMany({ age: { $gt: 25 } })
//   .then(() => {
//     console.log("删除成功");
//   })
//   .catch((err) => {
//     console.log(err);
//   });

//三.修改
// model
//   .updateMany({ name: "王小二" }, { $set: { age: 4000 } })
//   .then(() => {
//     console.log("更新成功");
//   })
//   .catch((err) => {
//     console.log(err);
//   });

//四.查询
// model
//   .find({ name: /^王+/ })
//   .then((res) => {
//     console.log(res);
//   })
//   .catch((err) => {
//     console.log(err);
//   });

(async function () {
  try {
    let res = await model.find({});
    console.log(res);
  } catch (err) {
    console.log(err);
  }
})();
